X-Git-Url: https://git.r.bdr.sh/rbdr/super-polarity/blobdiff_plain/95d7601b7742ed560a9d8e00269217f62fc7ce32..4fc09567c557a1110180940cca40fd7144921026:/Super%20Polarity/InputController.cs diff --git a/Super Polarity/InputController.cs b/Super Polarity/InputController.cs deleted file mode 100644 index 405b3ab..0000000 --- a/Super Polarity/InputController.cs +++ /dev/null @@ -1,118 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using Microsoft.Xna.Framework.Input; - -namespace SuperPolarity -{ - static class InputController - { - static Dictionary>> Listeners; - static Dictionary> RegisteredKeys; - static Dictionary> RegisteredButtons; - - static GamePadState InputGamePadState; - static KeyboardState InputKeyboardState; - - /* - * Registered Events. - * - * You register: name of the event (ie. attack) and a key associated with it. - * or button... Left Stick /always/ dispatches move event. - */ - - static InputController() - { - Listeners = new Dictionary>>(); - InputKeyboardState = new KeyboardState(); - InputGamePadState = new GamePadState(); - } - - public static void UpdateInput() - { - Poll(); - DispatchMoveEvents(); - DispatchRegisteredEvents(); - } - - private static void Poll() - { - InputGamePadState = GamePad.GetState(Microsoft.Xna.Framework.PlayerIndex.One); - InputKeyboardState = Keyboard.GetState(); - } - - private static void DispatchRegisteredEvents() - { - } - - private static void DispatchMoveEvents() - { - float xMovement = 0.0f; - float yMovement = 0.0f; - // Dispatch the moveX / MoveY events every frame. - - xMovement = InputGamePadState.ThumbSticks.Left.X; - yMovement = -InputGamePadState.ThumbSticks.Left.Y; - - Console.WriteLine("Dispatching Input {0}", InputKeyboardState.IsKeyDown(Keys.Left)); - - if (InputKeyboardState.IsKeyDown(Keys.Left)) - { - xMovement = -1.0f; - } - - if (InputKeyboardState.IsKeyDown(Keys.Right)) - { - xMovement = 1.0f; - } - - if (InputKeyboardState.IsKeyDown(Keys.Up)) - { - yMovement = -1.0f; - } - - if (InputKeyboardState.IsKeyDown(Keys.Down)) - { - yMovement = 1.0f; - } - - Dispatch("moveX", xMovement); - Dispatch("moveY", yMovement); - } - - public static void Bind(string eventName, Action listener) - { - List> newListenerList; - List> listenerList; - bool foundListeners; - - if (!Listeners.ContainsKey(eventName)) { - newListenerList = new List>(); - Listeners.Add(eventName, newListenerList); - } - - foundListeners = Listeners.TryGetValue(eventName, out listenerList); - - listenerList.Add(listener); - } - - public static void Dispatch(string eventName, float value) - { - List> listenerList; - bool foundListeners; - - foundListeners = Listeners.TryGetValue(eventName, out listenerList); - - if (!foundListeners) - { - return; - } - - foreach (Action method in listenerList) - { - method(value); - } - } - } -}